// 动态查找表
#ifndef DY_SEARCH_H
#define DY_SEARCH_H

#include "../../tree/model/bin-tree.h"

/**
 * 创建一个二叉排序树
 * @param tree 传入一个空的二叉树引用
 * @param nodes 传入元素值数组以初始化
 * @param size 结点个数
 */
void createSortTree(BinTree &, NodeDateType *, int);

/**
 * 向二叉排序树插入一个结点
 * @param tree 排序树
 * @param e 插入的值
 */
void insertSortTree(BinTree &, NodeDateType);

/**
 * 在二叉排序树中查找结点
 * @param tree 开始查找的排序树的结点
 * @param parent 待查找结点的父节点
 * @param e 待查找的结点值
 * @return 结点对象，若未找到对应值的结点则返回最后一个被比较的结点
 */
BTNode *searchSortTree(BinTree &, BinTree &, NodeDateType);

#include "./dynamic-search.cpp"

#endif